# 定义基础镜像，使用 JDK 1.8 oraclelinux.
FROM docker-hub:5000/openjdk:8-jdk-oraclelinux8

# 维护者信息
MAINTAINER LiuYamin<ymliu@cq.sgcc.com.cn>

# 工作目录
WORKDIR /usr/bin

# 复制 jar 包到容器
ADD misboot-gateway.jar /usr/bin/misboot-gateway.jar

# 定义环境变量
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-XshowSettings:vm -XX:InitialRAMPercentage=90.0 -XX:MaxRAMPercentage=90.0"

# 暴露端口
EXPOSE 8080

# 执行，带参数
#CMD [ "java", "-Dfile.encoding=UTF-8", "-jar /usr/bin/misboot-gateway.jar" ]
# 因为使用了环境变量，所以要使用 exec ...
# -XshowSettings:vm 显示JVM使用情况（可选）。
# -XX:+UseContainerSupport 从jdk 1.8u191（当前是8u212）开始引入，直接支持容器内存限制，默认启用；
# -XX:MaxRAMPercentage=80.0 从jdk 1.8u191开始引入，使用容器内存的百分比，必须使用小数。
#   可通过-XX:InitialRAMPercentage,-XX:MaxRAMPercentage,-XX:MinRAMPercentage更细腻的控制JVM内存比率；
#   内存大小：-Xmx 略小于容器指定内存*80.0%，如RAM=500M JVM=396.38M，推荐RAM=590,比例90.0,JVM=514左右。
ENTRYPOINT exec java ${JAVA_OPTS} -jar /usr/bin/misboot-gateway.jar
